iT邦幫忙

2025 iThome 鐵人賽

DAY 28
0

在 App 開發的過程中,錯誤是不可避免的。有時 App 會突然關閉,有時功能沒有按照預期運作。這時,我們就需要像一個「偵探」一樣,找出程式碼中的問題。

今天,我們將學習兩種最強大的偵錯工具:LogcatBreakpoints

什麼是 Logcat

  • 簡單比喻Logcat 就像是 App 的 「日記本」「事件紀錄簿」
    • 當你的 App 運行時,它會不斷地向 Logcat 輸出訊息。這些訊息可能來自於系統、其他 App,也可能是你自己在程式碼中寫的紀錄。
    • 當 App 發生錯誤或崩潰時,Logcat 會將錯誤訊息寫在日誌中,這是我們找出問題的關鍵線索。

如何使用 Logcat

  1. 開啟 Logcat 視窗:在 Android Studio 的左下方,點擊 Logcat 按鈕即可開啟。
  2. 認識日誌等級Logcat 的訊息分為不同的等級,你可以根據需要來篩選:
    • Verbose (最詳細):所有的日誌訊息。
    • Debug (開發用):開發者自己寫的除錯訊息。
    • Info (資訊):系統或 App 的一般資訊。
    • Warn (警告):可能會導致問題的非致命錯誤。
    • Error (錯誤):導致 App 崩潰的致命錯誤。
  3. 在程式碼中寫日誌:你可以在程式碼中,使用 Log.d()Log.e() 來寫下你自己的日誌,這就像是你在「日記本」上寫下偵探的筆記,幫助你追蹤程式的執行流程。
`import android.util.Log; // 記得要匯入 Log 類別

// ...
Log.d("MyTag", "按鈕被點擊了!"); // 寫一條除錯訊息
// ...`

什麼是 Breakpoints (斷點)?

  • 簡單比喻Breakpoints 就像是 App 的 「時間暫停器」
    • 當你設定一個斷點後,App 運行到這一行程式碼時,就會暫停下來。
    • 程式暫停後,你就可以像偵探一樣,仔細地檢查所有變數的當前值,追蹤程式的執行流程,找出哪裡出錯了。

如何使用 Breakpoints

  1. 設定斷點:在 MainActivity.java 檔案中,在你想暫停的程式碼行數旁邊,點擊一下。一個紅色的圓點就會出現。
  2. 以偵錯模式運行:點擊 Android Studio 上方工具列的「小蟲子」按鈕,而不是綠色的「播放」按鈕。這會以偵錯模式運行 App。
  3. 開始偵錯:當 App 運行到你設定的斷點時,它會暫停。這時,你可以看到畫面右下角有一個 Debugger 視窗,裡面會顯示所有變數的當前值。你也可以使用偵錯工具列上的按鈕,一步步地執行程式碼,追蹤它的每一步。

實作時間:用偵錯工具找出錯誤

今天,我們不會寫新的 App,而是利用偵錯工具來找出一個常見的錯誤。

  • 情境:假設你的 App 裡面有一個按鈕,點擊後應該要顯示一個數字,但程式卻崩潰了。
  • 可能的原因:你可能忘記將 EditText 裡的字串轉換成數字。
  • 偵錯步驟
    1. MainActivity.java 裡,在 Integer.parseInt(yourString) 這一行設定一個斷點。
    2. 以偵錯模式運行 App。
    3. 在 App 裡,點擊按鈕。程式會暫停在你設定的斷點上。
    4. Debugger 視窗中,檢查 yourString 這個變數的值。你會發現它的值是 null 或空字串,而不是一個數字。
    5. 這樣,你就成功地找到了問題的根源!

今日總結

今天我們學會了如何使用專業開發者必備的偵錯工具:

  • Logcat:App 的「日記本」,用來查看程式的執行日誌和錯誤訊息。
  • Breakpoints:App 的「時間暫停器」,用來暫停程式,一步步追蹤變數的變化。

現在已經具備了獨立解決程式錯誤的能力!

明天見!


上一篇
Day27- RecyclerView 效能優化與進階應用
下一篇
Day 29- 打造 App 的質感!讓圖片載入又快又順
系列文
Android 開發者養成計畫:從程式邏輯到作品集實戰30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言